home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- from base.g import *
- from ui_utils import *
- from base import device
- from PyQt4.QtCore import *
- from PyQt4.QtGui import *
- DEVICEURICOMBOBOX_TYPE_PRINTER_ONLY = 0
- DEVICEURICOMBOBOX_TYPE_FAX_ONLY = 1
- DEVICEURICOMBOBOX_TYPE_PRINTER_AND_FAX = 2
-
- class DeviceUriComboBox(QWidget):
-
- def __init__(self, parent):
- QWidget.__init__(self, parent)
- self.device_uri = ''
- self.initial_device = None
- self.updating = False
- self.typ = DEVICEURICOMBOBOX_TYPE_PRINTER_ONLY
- self.filter = None
- self.devices = None
- self.user_settings = UserSettings()
- self.user_settings.load()
- self.user_settings.debug()
- self.initUi()
-
-
- def initUi(self):
- HBoxLayout = QHBoxLayout(self)
- HBoxLayout.setObjectName('HBoxLayout')
- self.NameLabel = QLabel(self)
- self.NameLabel.setObjectName('NameLabel')
- HBoxLayout.addWidget(self.NameLabel)
- SpacerItem = QSpacerItem(20, 20, QSizePolicy.Minimum, QSizePolicy.Minimum)
- HBoxLayout.addItem(SpacerItem)
- self.ComboBox = QComboBox(self)
- sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.ComboBox.sizePolicy().hasHeightForWidth())
- self.ComboBox.setSizePolicy(sizePolicy)
- self.ComboBox.setObjectName('ComboBox')
- HBoxLayout.addWidget(self.ComboBox)
- self.NameLabel.setText(self._DeviceUriComboBox__tr('Device:'))
- self.connect(self.ComboBox, SIGNAL('currentIndexChanged(const QString &)'), self.ComboBox_currentIndexChanged)
-
-
- def setType(self, typ):
- if typ in (DEVICEURICOMBOBOX_TYPE_PRINTER_ONLY, DEVICEURICOMBOBOX_TYPE_FAX_ONLY, DEVICEURICOMBOBOX_TYPE_PRINTER_AND_FAX):
- self.typ = typ
-
-
-
- def setFilter(self, filter):
- self.filter = filter
-
-
- def setInitialDevice(self, device_uri):
- self.initial_device = device_uri
-
-
- def setDevices(self):
- if self.typ == DEVICEURICOMBOBOX_TYPE_PRINTER_ONLY:
- be_filter = [
- 'hp']
- elif self.typ == DEVICEURICOMBOBOX_TYPE_FAX_ONLY:
- be_filter = [
- 'hpfax']
- self.NameLabel.setText(self._DeviceUriComboBox__tr('Fax Device:'))
- else:
- be_filter = [
- 'hp',
- 'hpfax']
- self.devices = device.getSupportedCUPSDevices(be_filter, self.filter)
- return len(self.devices)
-
-
- def updateUi(self):
- if self.devices is None:
- self.setDevices()
-
- self.device_index = { }
- if self.devices:
- if self.initial_device is None:
- self.initial_device = self.user_settings.last_used_device_uri
-
- self.updating = True
-
- try:
- k = 0
- for i, d in enumerate(self.devices):
- self.ComboBox.insertItem(i, d)
- if self.initial_device is not None and d == self.initial_device:
- self.initial_device = None
- k = i
- continue
-
- self.ComboBox.setCurrentIndex(-1)
- finally:
- self.updating = False
-
- self.ComboBox.setCurrentIndex(k)
- if len(self.devices) == 1:
- self.emit(SIGNAL('DeviceUriComboBox_oneDevice'))
-
- else:
- self.emit(SIGNAL('DeviceUriComboBox_noDevices'))
-
-
- def ComboBox_currentIndexChanged(self, t):
- if self.updating:
- return None
- self.device_uri = unicode(t)
- if self.device_uri:
- self.user_settings.last_used_device_uri = self.device_uri
- self.user_settings.save()
- self.emit(SIGNAL('DeviceUriComboBox_currentChanged'), self.device_uri)
-
-
-
- def __tr(self, s, c = None):
- return qApp.translate('DeviceUriComboBox', s, c)
-
-
-